//服务器全部接口返回的数据类型
export interface ResponseData {
    code: number
    message: string
    ok: boolean
  }
  
  //SPU数据的ts类型:需要修改
  export interface SpuData {
    category3Id: string | number
    id?: number
    spuName: string
    tmId: number | string
    description: string
    spuImageList: null | SpuImg[]
    spuSaleAttrList: null | SaleAttr[]
  }
  //数组:元素都是已有SPU数据类型
  export type Records = SpuData[]
  //定义获取已有的SPU接口返回的数据ts类型
  export interface HasSpuResponseData extends ResponseData {
    data: {
      records: Records
      total: number
      size: number
      current: number
      searchCount: boolean
      pages: number
    }
  }
  
  //品牌数据的TS类型
  export interface Trademark {
    id: number
    tmName: string
    logoUrl: string
  }
  //品牌接口返回的数据ts类型
  export interface AllTradeMark extends ResponseData {
    data: Trademark[]
  }
  
  //商品图片的ts类型
  export interface SpuImg {
    id?: number
    imgName?: string
    imgUrl?: string
    createTime?: string
    updateTime?: string
    spuId?: number
    name?: string
    url?: string
  }
  //已有的SPU的照片墙数据的类型
  export interface SpuHasImg extends ResponseData {
    data: SpuImg[]
  }
  
  //已有的销售属性值对象ts类型
  export interface SaleAttrValue {
    id?: number
    createTime?: null
    updateTime?: null
    spuId?: number
    baseSaleAttrId: number | string
    saleAttrValueName: string
    saleAttrName?: string
    isChecked?: null
  }
  //存储已有的销售属性值数组类型
  export type SpuSaleAttrValueList = SaleAttrValue[]
  
  //销售属性对象ts类型
  export interface SaleAttr {
    id?: number
    createTime?: null
    updateTime?: null
    spuId?: number
    baseSaleAttrId: number | string
    saleAttrName: string
    spuSaleAttrValueList: SpuSaleAttrValueList
    flag?: boolean
    saleAttrValue?: string
  }
  //SPU已有的销售属性接口返回数据ts类型
  export interface SaleAttrResponseData extends ResponseData {
    data: SaleAttr[]
  }
  
  //已有的全部SPU的返回数据ts类型
  export interface HasSaleAttr {
    id: number
    name: string
  }
  
  export interface HasSaleAttrResponseData extends ResponseData {
    data: HasSaleAttr[]
  }
  
  export interface Attr {
    attrId: number | string //平台属性的ID
    valueId: number | string //属性值的ID
  }
  
  export interface saleArr {
    saleAttrId: number | string //属性ID
    saleAttrValueId: number | string //属性值的ID
  }
  export interface SkuData {
    category3Id: string | number //三级分类的ID
    spuId: string | number //已有的SPU的ID
    tmId: string | number //SPU品牌的ID
    skuName: string //sku名字
    price: string | number //sku价格
    weight: string | number //sku重量
    skuDesc: string //sku的描述
    skuAttrValueList?: Attr[]
    skuSaleAttrValueList?: saleArr[]
    skuDefaultImg: string //sku图片地址
  }
  
  //获取SKU数据接口的ts类型
  export interface SkuInfoData extends ResponseData {
    data: SkuData[]
  }
  